;*****************************************************************	
		;;***WRITTEN BY BADR GROUP**
		;;***ENG Ahmad Fayed&Ahmad ELalfy&Mohamad ELmelegy&Mohamad ELnewehy&Mostafa ELsamragy***
               	;;***DISCRIBTION:COUNTER(AUTO) USING 16F84A&(2)7SEGMENT INCRESING&DECREASING&HOLD&MAKE IT ZREO  BY 4 SWITCHS*** 
		;;***ZERO BY HOLD SWITCH THEN MCLR SWITCH
TIMER1 EQU 0C
TIMER3 EQU 0D
TIMER2 EQU 0E
LIST P=16F84A
#INCLUDE<P16F84A.INC>
		BSF STATUS,5
		MOVLW B'00010011'	
		MOVWF TRISA
		CLRF TRISB
		MOVLW B'10001000'
		MOVWF OPTION_REG
		BCF STATUS,5
		CLRF TIMER1
		CLRF TIMER3
		GOTO LOOP
	;;SUP
FAYED  		CALL LOOP
		CALL DIS1
		BSF PORTA,2
	  	BCF PORTA,3
		CALL LOOP
		CALL DIS3
		BCF PORTA,2
	   	BSF PORTA,3
	RETURN
SEC		MOVLW .25
		MOVWF TIMER2
DELAY		SLEEP
		CALL FAYED
		DECFSZ TIMER2,1
		GOTO DELAY
	RETURN
DIS1    	MOVF TIMER1,0
		CALL PTRN1
		BSF PORTA,2
	  	BCF PORTA,3
		MOVWF PORTB
	RETURN
DIS3    	MOVF TIMER3,0
		CALL PTRN1
		BSF PORTA,3
	  	BCF PORTA,2
		MOVWF PORTB
	RETURN
AA1	    	CLRF TIMER1
		INCF TIMER3,1
		BTFSS TIMER3,0
		GOTO ACTION3
		BTFSS TIMER3,1
		GOTO ACTION3
		BTFSS TIMER3,3
		GOTO ACTION3
		GOTO AA4
AA4	    	CLRF TIMER3                 
		GOTO  ACTION1 
AA5		MOVLW B'00001001'
		MOVWF TIMER1
		CALL DIS1
		MOVLW B'00001001'
		MOVWF TIMER3
		CALL DIS3
		GOTO ACTION5
PTRN1		ADDWF PCL,1
		RETLW B'10000001';0
		RETLW B'11110101';1
		RETLW B'00101001';2		
		RETLW B'00110000';3
		RETLW B'01010101';4
		RETLW B'00010011';5
		RETLW B'00000011';6	
		RETLW B'10110101';7
		RETLW B'00000001';8
		RETLW B'00010001';9	
		RETLW B'10000001';0
LOOP		SLEEP
SW1		BTFSS PORTA,0
		GOTO ACTION1
SW2		BTFSS PORTA,1
		GOTO AHMAD1
SW4    		BTFSS PORTA,4
		GOTO SW44
	RETURN
SW44		CALL FAYED
		GOTO SW44
ACTION1		BTFSS TIMER1,1
		GOTO ACTION11
		BTFSS TIMER1,3
		GOTO ACTION11
		CALL DIS1
		GOTO AA1
ACTION11 	CALL DIS1	
		CALL SEC
		INCF TIMER1,1
		GOTO ACTION1	
ACTION2		GOTO BB
GG		CALL DIS1
		CALL SEC
		DECF TIMER1,1
		GOTO AHMAD1
BB		BTFSS TIMER1,0
		GOTO GG
		BTFSS TIMER1,1
		GOTO GG
		BTFSS TIMER1,2
		GOTO GG
		BTFSS TIMER1,3
		GOTO GG
		GOTO AHMAD1
ACTION3		CALL DIS3
		CALL SEC
		INCF TIMER1,1
		GOTO ACTION1
AHMAD1		CLRW
		ADDWF TIMER1,1
		BTFSC STATUS,2
      		GOTO AHMAD2
	    	GOTO ACTION2 
AHMAD2		CLRW
		ADDWF TIMER3,1
		BTFSC STATUS,2
      		GOTO AA5
       		GOTO ACTION4   
ACTION4		CALL DIS3
		CALL SEC
		DECF TIMER3,1
		MOVLW B'00001001'
		MOVWF TIMER1
		GOTO AHMAD1
ACTION5		CALL SEC	
		GOTO AHMAD1
END




